package com.tjc.media.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;

/**
 * 歌曲信息对象 t_song_info
 * 
 * @author 大根教会
 * @date 2025-09-23
 */
public class SongInfo/* extends BaseEntity*/
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long songId;

    /** 歌曲名称 */
    @Excel(name = "歌曲名称")
    private String songName;

    /** 歌唱作者 */
    @Excel(name = "歌唱作者")
    private String singerName;

    /** 歌曲分类：1 赞美诗；2 青年诗歌 */
    private Long songAlbum;

    /** 歌曲分类：1 赞美诗；2 青年诗歌 */
    @Excel(name = "歌曲分类")
    private String songAlbumName;

    /** 排序号，值越大越靠前 */
    @Excel(name = "排序号")
    private Long sortOrder;

    /** 创建者id */
    private Long createUserid;

    /** 创建者 */
    @Excel(name = "创建者")
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者id */
    private Long updateUserid;

    /** 更新者 */
    @Excel(name = "更新者")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 歌曲文件
     */
    MultipartFile songFile;

    /**
     * 歌曲原始文件名称
     */
    private String songOriginalName;

    /**
     * 歌曲显示名称
     */
    private String songDisplayName;

    /**
     * 歌曲存储名称
     */
    private String songStorageName;

    /**
     * 歌曲文件地址
     */
    String songFileUrl;

    /**
     * 封面文件大小
     */
    private Long songFileSize;

    /**
     * 封面文件
     */
    MultipartFile coverFile;

    /**
     * 封面原始文件名称
     */
    private String coverOriginalName;

    /**
     * 封面显示名称
     */
    private String coverDisplayName;

    /**
     * 封面存储名称
     */
    private String coverStorageName;

    /**
     * 封面文件地址
     */
    String coverFileUrl;

    /**
     * 封面文件大小
     */
    private Long coverFileSize;

    /**
     * 歌词文件
     */
    MultipartFile lyricFile;

    /**
     * 歌词原始文件名称
     */
    private String lyricOriginalName;

    /**
     * 歌词显示名称
     */
    private String lyricDisplayName;

    /**
     * 歌词存储名称
     */
    private String lyricStorageName;

    /**
     * 歌词文件地址
     */
    String lyricFileUrl;

    /**
     * 歌词文件大小
     */
    private Long lyricFileSize;

    public void setSongId(Long songId)
    {
        this.songId = songId;
    }

    public Long getSongId()
    {
        return songId;
    }

    public String getSongName() {
        return songName;
    }

    public void setSongName(String songName) {
        this.songName = songName;
    }

    public void setSingerName(String singerName)
    {
        this.singerName = singerName;
    }

    public String getSingerName()
    {
        return singerName;
    }

    public void setSongAlbum(Long songAlbum)
    {
        this.songAlbum = songAlbum;
    }

    public Long getSongAlbum()
    {
        return songAlbum;
    }

    public MultipartFile getSongFile() {
        return songFile;
    }

    public void setSongFile(MultipartFile songFile) {
        this.songFile = songFile;
    }

    public MultipartFile getCoverFile() {
        return coverFile;
    }

    public void setCoverFile(MultipartFile coverFile) {
        this.coverFile = coverFile;
    }

    public MultipartFile getLyricFile() {
        return lyricFile;
    }

    public void setLyricFile(MultipartFile lyricFile) {
        this.lyricFile = lyricFile;
    }

    public String getSongDisplayName() {
        return songDisplayName;
    }

    public void setSongDisplayName(String songDisplayName) {
        this.songDisplayName = songDisplayName;
    }

    public String getSongStorageName() {
        return songStorageName;
    }

    public void setSongStorageName(String songStorageName) {
        this.songStorageName = songStorageName;
    }

    public String getCoverDisplayName() {
        return coverDisplayName;
    }

    public void setCoverDisplayName(String coverDisplayName) {
        this.coverDisplayName = coverDisplayName;
    }

    public String getCoverStorageName() {
        return coverStorageName;
    }

    public void setCoverStorageName(String coverStorageName) {
        this.coverStorageName = coverStorageName;
    }

    public String getLyricDisplayName() {
        return lyricDisplayName;
    }

    public void setLyricDisplayName(String lyricDisplayName) {
        this.lyricDisplayName = lyricDisplayName;
    }

    public String getLyricStorageName() {
        return lyricStorageName;
    }

    public void setLyricStorageName(String lyricStorageName) {
        this.lyricStorageName = lyricStorageName;
    }

    public void setSortOrder(Long sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public Long getSortOrder()
    {
        return sortOrder;
    }

    public void setCreateUserid(Long createUserid)
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid()
    {
        return createUserid;
    }

    public void setUpdateUserid(Long updateUserid)
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid()
    {
        return updateUserid;
    }

    public String getSongFileUrl() {
        return songFileUrl;
    }

    public void setSongFileUrl(String songFileUrl) {
        this.songFileUrl = songFileUrl;
    }

    public String getCoverFileUrl() {
        return coverFileUrl;
    }

    public void setCoverFileUrl(String coverFileUrl) {
        this.coverFileUrl = coverFileUrl;
    }

    public String getLyricFileUrl() {
        return lyricFileUrl;
    }

    public void setLyricFileUrl(String lyricFileUrl) {
        this.lyricFileUrl = lyricFileUrl;
    }

    public String getSongAlbumName() {
        return songAlbumName;
    }

    public void setSongAlbumName(String songAlbumName) {
        this.songAlbumName = songAlbumName;
    }

    public String getSongOriginalName() {
        return songOriginalName;
    }

    public void setSongOriginalName(String songOriginalName) {
        this.songOriginalName = songOriginalName;
    }

    public Long getSongFileSize() {
        return songFileSize;
    }

    public void setSongFileSize(Long songFileSize) {
        this.songFileSize = songFileSize;
    }

    public String getCoverOriginalName() {
        return coverOriginalName;
    }

    public void setCoverOriginalName(String coverOriginalName) {
        this.coverOriginalName = coverOriginalName;
    }

    public Long getCoverFileSize() {
        return coverFileSize;
    }

    public void setCoverFileSize(Long coverFileSize) {
        this.coverFileSize = coverFileSize;
    }

    public String getLyricOriginalName() {
        return lyricOriginalName;
    }

    public void setLyricOriginalName(String lyricOriginalName) {
        this.lyricOriginalName = lyricOriginalName;
    }

    public Long getLyricFileSize() {
        return lyricFileSize;
    }

    public void setLyricFileSize(Long lyricFileSize) {
        this.lyricFileSize = lyricFileSize;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("songId", getSongId())
                .append("name", getSongName())
                .append("singerName", getSingerName())
                .append("songAlbum", getSongAlbum())
                .append("sortOrder", getSortOrder())
                .append("createUserid", getCreateUserid())
                .append("createTime", getCreateTime())
                .append("updateUserid", getUpdateUserid())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
